@Table, @Column এর মাধ্যমে Table Mapping

Java Technologies - স্প্রিং ওআরএম (Spring ORM) Spring ORM এ Entity Mapping |
54
54

Spring ORM-এ @Table এবং @Column অ্যানোটেশন ব্যবহার করে ডাটাবেস টেবিলের সঙ্গে জাভা ক্লাসের ম্যাপিং করা হয়। এগুলো JPA (Java Persistence API) থেকে আসে এবং Hibernate বা JPA প্রোভাইডার ব্যবহারে খুবই কার্যকরী।

@Table এবং @Column কী?

  • @Table: একটি জাভা ক্লাসকে ডাটাবেস টেবিলের সঙ্গে সংযুক্ত (Map) করতে ব্যবহৃত হয়। এটি টেবিলের নাম ও অন্যান্য বৈশিষ্ট্য নির্ধারণ করে।
  • @Column: ডাটাবেস টেবিলের নির্দিষ্ট একটি কলামের সঙ্গে জাভা ক্লাসের একটি ফিল্ড সংযুক্ত করতে ব্যবহৃত হয়।

Table Mapping: @Table এবং @Column এর ব্যবহার

উদাহরণ: টেবিল ম্যাপিং কনফিগারেশন

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.Column;

@Entity
@Table(name = "employees")
public class Employee {

    @Id
    @Column(name = "employee_id", nullable = false)
    private Long id;

    @Column(name = "employee_name", length = 100, nullable = false)
    private String name;

    @Column(name = "department")
    private String department;

    @Column(name = "salary", columnDefinition = "DECIMAL(10, 2)")
    private Double salary;

    // Getters and Setters
}

@Table এবং @Column এর ব্যবহার ব্যাখ্যা

@Table এর বৈশিষ্ট্য

  • name: ডাটাবেস টেবিলের নাম নির্ধারণ করে।
  • schema: স্কিমা স্পেসিফাই করতে ব্যবহৃত হয় (যদি প্রয়োজন হয়)।
  • catalog: ডাটাবেস ক্যাটালগ নির্ধারণ করতে ব্যবহৃত হয়।

উদাহরণ:

@Table(name = "employees", schema = "hr")

@Column এর বৈশিষ্ট্য

  • name: ডাটাবেস কলামের নাম নির্ধারণ করে।
  • length: স্ট্রিং টাইপের কলামের দৈর্ঘ্য নির্ধারণ করে।
  • nullable: কলামে NULL অনুমতি দেওয়া হবে কি না।
  • unique: কলামটিকে ইউনিক কনস্ট্রেইন্ট দেয়।
  • columnDefinition: কলামের ডাটাটাইপ নির্ধারণ করে।

উদাহরণ:

@Column(name = "employee_name", length = 100, nullable = false, unique = true)

কাজের প্রবাহ

টেবিল এবং কলাম ম্যাপিং এর ধাপসমূহ

  1. Entity ডিফাইন করা: @Entity ব্যবহার করে ক্লাসকে Entity হিসেবে চিহ্নিত করা।
  2. টেবিল ম্যাপিং: @Table ব্যবহার করে ডাটাবেস টেবিলের নাম কনফিগার করা।
  3. কলাম ম্যাপিং: @Column ব্যবহার করে প্রতিটি ফিল্ডকে কলামের সঙ্গে সংযুক্ত করা।
  4. Hibernate বা JPA Repository তৈরি করা: ডেটাবেস অপারেশন সহজ করার জন্য Spring Data JPA ব্যবহার করা।

উদাহরণ: Spring Boot এ @Table এবং @Column সহ একটি পূর্ণাঙ্গ Entity

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.Column;

@Entity
@Table(name = "products")
public class Product {

    @Id
    @Column(name = "product_id")
    private Long id;

    @Column(name = "product_name", nullable = false, length = 255)
    private String name;

    @Column(name = "price", columnDefinition = "DECIMAL(10, 2)")
    private Double price;

    @Column(name = "description", length = 500)
    private String description;

    // Getters and Setters
}

Repository এবং Service লেয়ার

Repository তৈরি

import org.springframework.data.jpa.repository.JpaRepository;

public interface ProductRepository extends JpaRepository<Product, Long> {
}

Service লেয়ার

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class ProductService {

    @Autowired
    private ProductRepository productRepository;

    public List<Product> getAllProducts() {
        return productRepository.findAll();
    }

    public Product saveProduct(Product product) {
        return productRepository.save(product);
    }
}

@Table এবং @Column এর মাধ্যমে টেবিল এবং কলাম ম্যাপিং অত্যন্ত সহজ হয়, যা ডাটাবেসের সঙ্গে জাভা ক্লাসের সঠিক সংযোগ নিশ্চিত করে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion